<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement"%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> MariaDB를 이용한 JDBC 프로그래밍 </title>
</head>
<body>
<h1> MariaDB를 이용한 JDBC 프로그래밍 </h1>
<h3>MariaDB</h3>
<p>내려받기 : mariadb.org</p>

<h3>MariaDB 사용자 계정 생성</h3>
<p>1. 데이터베이스 생성 <br />
	create database [디비명]; <br />
	예) create database siestageek;</p>
<p>2. 사용자 생성 <br />
	create user '아이디'@'localhost'
		identified by '암호'; <br />
	예) create user 
		'siestageek'@'localhost'
		identified by '987654'; </p>
<p>3. 사용자 권한 부여 <br />
	grant all privileges on
	디비명.* to 아이디@localhost; <br />
	예) grant all privileges on
	siestageek.* to siestageek@localhost; </p> 
<p>4. 변경사항 적용 <br />
	flush privileges;</p>

<h3>사용자 계정 추가 실패시 해결책</h3>
<p>1. 기존 생성된 데이터베이스 삭제</p>
<p>2. mysql 데이터베이스의 user 테이블을 참조해서
	  기존에 추가된 사용자 계정 삭제</p>
<p>3. mysql 데이터베이스의 db 테이블을 참조해서
	  기존에 추가된 데이터베이스 삭제</p>
<p>4. 삭제한 사항들을 서버에 반영해야 하므로
     flush privileges; 명령을 실행함</p>
<p>5. 다시 처음부터 데이터베이스 생성 및
	 사용자 추가, 권한 부여를 실행함</p>

<hr />
<h3>JDBC 웹 프로그래밍 준비사항</h3>
<p>MariaDB용 JDBC드라이버를 준비할 것!</p>
<p>WEB-INF/lib 에 
 mariadb-java-client-1.1.5.jar을
 복사해 둠</p>

<hr />
<h3>JDBC 접속 테스트</h3>
<%
	String DRV = "org.mariadb.jdbc.Driver";
	//String URL = "jdbc:mariadb://localhost:3306/siestageek";
	String URL = "jdbc:mariadb://localhost:3306/siestageek?user=siestageek&password=987654";
	//String USR = "siestageek";
	//String PWD = "987654";
	String SQL = "create table a (b int primary key)";

	Connection conn = null;
	PreparedStatement pstmt = null;
	
	try {
		Class.forName( DRV );
		//conn = DriverManager.getConnection(URL, USR, PWD);
		conn = DriverManager.getConnection(URL);		
		pstmt = conn.prepareStatement(SQL);
		pstmt.executeUpdate();
		out.print("<h4>실행완료</h4>");
	} catch (Exception ex) {
		ex.printStackTrace();
	} finally {
		if (pstmt != null) 
			try { pstmt.close(); } 
				catch (Exception e) { }
		if (conn != null) try { conn.close(); } catch (Exception e) { }			
	}

%>
<p></p>
<p></p>
<p></p>









</body>
</html>